var fs = require('fs'); // 引入fs模块

/**
 * 文件操作
 */
class FileOpe {
  /**
 * 1.1 保存到本地硬盘
 */
  save2Disk(path, content) {
    try {
      if (typeof content != 'string')
        content = JSON.stringify(content);
      //'flag': 'w' - 覆盖 , 'a' - 追加
      fs.writeFileSync(path, content, {encoding: 'utf8', 'flag': 'w'});
      // fs.writeFile(path, content, { encoding: 'utf8', 'flag': 'w' }, (err) => {
      //   // 写入文件失败/错误
      //   if (err) {
      //     throw err;
      //   }
      // });
    } catch (e) {
      console.log("保存数据失败：" + e);
    }
  }

  /**
   * 1.2 读取本地磁盘上的数据
   * @returns Json对象
   */
  loadJsonObjFromDisk(path) {
    try {
      var jsonObj = null;
      var isExsit = fs.existsSync(path);
      if (!isExsit) {
        console.log('不存在文件:' + path);
      } else {
        var contentStr = fs.readFileSync(path, { encoding: 'utf8' });
        if (contentStr.length > 0) {
          jsonObj = JSON.parse(contentStr);
        }
      }
      return jsonObj;
    } catch (error) {
      console.log(error);
    }
  }

  /**
   * 1.3 删除指定文件
   * @param path 文件路径
   */
  deleteFile(path) { 
    var isExsit = fs.existsSync(path);
    if (isExsit) { 
      fs.unlinkSync(path);
      console.log('文件【' + path + '】删除成功~');
    }
  }
}

module.exports = FileOpe;